Add noack and 57.6 and 115.2K baud for magellans.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 15 Jan 2003 16:54:45 +0000 (16:54 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 15 Jan 2003 16:54:45 +0000 (16:54 +0000)
gpsbabel/magproto.c

index 54c9f1ba4bb65d1cab84a10aef6ca50be292d706..7b150ad073c24f54d8e735d67957a277398f2fc2 100644 (file)
@@ -434,7 +434,8 @@ retry:
                found_done = 1;
                return;
        } 
-       mag_writeack(isum);
+       if (magrxstate != mrs_handoff)
+               mag_writeack(isum);
 }
 
 #if __WIN32__
@@ -450,6 +451,8 @@ mkspeed(bitrate)
                case 4800: return CBR_4800;
                case 9600: return CBR_9600;
                case 19200: return CBR_19200;
+               case 57600: return CBR_57600;
+               case 115200: return CBR_115200;
                default: return CBR_4800;
        }
 }
@@ -581,6 +584,8 @@ mkspeed(unsigned br)
                case 4800: return B4800;
                case 9600: return B9600;
                case 19200: return B19200;
+               case 57600: return B57600;
+               case 115200: return B115200;
                default: return B4800;
        }
 }
@@ -655,6 +660,7 @@ mag_rd_init(const char *portname, const char *args)
 {
        time_t now, later;
        char * bs = get_option(args, "baud");
+       char * noack = get_option(args, "noack");
 
        if (bs) {
                bitrate=atoi(bs);
@@ -662,7 +668,9 @@ mag_rd_init(const char *portname, const char *args)
 
        terminit(portname);
 
-       mag_handon();
+       if (!noack)
+               mag_handon();
+
        now = time(NULL);
        /*
         * The 315 can take up to 4.25 seconds to respond to initialization